runtime.m.locks (field)
45 uses
runtime (current package)
lock_futex.go#L58: if gp.m.locks < 0 {
lock_futex.go#L61: gp.m.locks++
lock_futex.go#L135: gp.m.locks--
lock_futex.go#L136: if gp.m.locks < 0 {
lock_futex.go#L139: if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
mgc.go#L635: if gp := getg(); gp == mp.g0 || mp.locks > 1 || mp.preemptoff != "" {
mgcmark.go#L421: if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
mgcsweep.go#L357: gp.m.locks++
mgcsweep.go#L363: gp.m.locks--
mgcsweep.go#L441: gp.m.locks--
mgcsweep.go#L463: if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
mgcsweep.go#L502: if gp.m.locks == 0 && gp.m.mallocing == 0 && gp != gp.m.g0 {
mprof.go#L772: if gp := getg(); gp.m.locks == 1 && gp.m.mLockProfile.cycles != 0 {
panic.go#L773: if gp.m.locks != 0 {
panic.go#L1333: if gp.m.locks < 0 {
panic.go#L1334: gp.m.locks = 1
panic.go#L1434: if mp.locks != 1 || mp.mallocing != 0 || mp.throwing != throwTypeNone || mp.preemptoff != "" || mp.dying != 0 {
preempt.go#L288: return mp.locks == 0 && mp.mallocing == 0 && mp.preemptoff == "" && mp.p.ptr().status == _Prunning
print.go#L67: mp.locks++ // do not reschedule between printlock++ and lock(&debuglock).
print.go#L72: mp.locks-- // now we know debuglock is held and holding up mp.locks for us.
proc.go#L1547: if gp.m.locks > 0 {
proc.go#L2873: if gp.m.locks != 0 {
proc.go#L3970: if mp.locks != 0 {
proc.go#L4397: gp.m.locks++
proc.go#L4463: gp.m.locks--
proc.go#L4544: gp.m.locks++ // see comment in entersyscall
proc.go#L4586: gp.m.locks--
proc.go#L4621: gp.m.locks++ // see comment in entersyscall
proc.go#L4669: gp.m.locks--
proc.go#L4687: gp.m.locks--
proc.go#L4852: gp.m.locks++
proc.go#L4884: gp.m.locks--
proc.go#L5537: gp.m.locks++
proc.go#L5561: gp.m.locks--
proc.go#L6393: print(" mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, " locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=")
proc.go#L7091: mp.locks++
proc.go#L7109: gp.m.locks--
rand.go#L145: mp.locks++ // hold m even though c.Refill may do stack split checks
rand.go#L147: mp.locks--
runtime1.go#L605: gp.m.locks++
runtime1.go#L612: mp.locks--
runtime1.go#L613: if mp.locks == 0 && gp.preempt {
runtime2.go#L574: locks int32
sema.go#L250: if s.ticket == 1 && getg().m.locks == 0 {
stack.go#L1068: if thisg.m.p == 0 && thisg.m.locks == 0 {
 |
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |